package com.tianlu.store.service;

import com.tianlu.store.entity.OrderProduct;
import com.tianlu.store.entity.ProductInfo;
import com.tianlu.store.common.MyBaseService;

import java.util.List;

/**
 * @Author 梁东烂
 * @Desc 商品信息表(ProductInfo)表服务接口
 * @Date 2023-04-03 16:50:55
 */
public interface ProductInfoService extends MyBaseService<ProductInfo> {
    /**
     * 批量修改库存
     *
     * @param productInfoList 商品信息
     * @author liangdl
     * @since 2023/4/3 18:59
     */
    void updateStock(List<ProductInfo> productInfoList);

    /**
     * 退款加库存
     *
     * @param productList 商品信息
     * @author liangdl
     * @since 2023/4/3 18:59
     */
    void resumeStock(List<OrderProduct> productList);

    /**
     * 上架/下架
     *
     * @param id 主键
     * @return Boolean
     * @author liangdl
     * @since 2023/4/17 14:24
     */
    Boolean changeStatus(Long id);

    /**
     * 查询商品列表
     *
     * @param searchKey 搜索条件
     * @param orderBy   排序
     * @param level     用户等级
     * @return List<ProductInfo>
     * @author liangdl
     * @since 2023/4/26 17:13
     */
    List<ProductInfo> findProductList(String searchKey, String orderBy, Integer level);

    /**
     * 查询商品列表
     *
     * @param idList 商品id
     * @return List<ProductInfo>
     * @author liangdl
     * @since 2023/4/26 17:13
     */
    List<ProductInfo> findByIdList(List<Long> idList);
}
